'use strict';
//1.获取数据库的引用
const  db=uniCloud.database()

//声明一个聚合操作符
const $ = db.command.aggregate

exports.main = async (event, context) => {
	console.log('event : ', event)
	//event会接收到传进来的数据
	const {
		   user_id,
		   classify
		   } = event  //同等于 var name = event.name
	
	let matchObj = {}
	
	//获取user表
	const userinfo = await db.collection('user').doc(user_id).get()
	const article_likes_ids = userinfo.data[0].article_likes_ids
	
	//使用另外一种方式获取数据-----集合：更精确的处理数据：求和、分组、指定那些返回哪些字段
	const list = await db.collection('article')
	.aggregate()
	//字段追加
	.addFields({
		// .in()方法 当前某一个数组是否包含某一个字段:包含返回true否则返回false
		is_like: $.in(["$_id",article_likes_ids])
	})
	.project({
		//功能类似下面的 .field()
		content:false,
	})
	//利用正则筛选
	.match({
		//用classify筛选
		classify:new RegExp(classify)
	})
	.end()
	
	//返回数据给客户端
	return {
		code:200,
		message:"数据请求成功",
		data:list.data
	}
};
